在實際操作之前,先講解一下會使用到的dbt package類型:
這裡有兩個主要選項:
AutomateDV
:基本上是用dbt建構DV的預設選項,也是最受歡迎的DV開源軟件包。而從開源專案的角度來看,由於受歡迎所以也比較容易找到參考資料,也有自己的入門模板。datavault4dbt
:相對新晉的DV專門軟件包。雖然說大部分的功能與AutomateDV
類似,但支持比較多原資料層的種類、選項。AutomateDV
,但如果對DV設計比較熟悉、或需要可以支持CDC或瞬態資料源(transient data sources)的原始資料層的話,可以考慮datavault4dbt
。dbt內建的資料品質測試功能其實已經很強了,其他比較通用的資料品質測試package也有很多厲害的功能。這次鐵人賽我會再寫一系列關於dbt資料平治測試package的系列文,這邊就先先淺談一下DV專用的一些測試package:
AutomateDV
+ datavault4dbt
:這兩個選項都有一些內建的單元測試(unit test),如果參考鍵(reference keys)好好設定的話會對資料模型完整性有很大的幫助。dq-vault
:這個是專門為了DV資料測試設計的package,也包含了主要規定性限制的各種測試(資料複製、核對、參考完整性)。也事先聲明一下,這是我們公司內部開發後開源出去的package (ノ≧ڡ≦)以下是一些其他非關鍵但會推薦使用的一些package:
AutomateDV
的入門模板外,也推薦我們公司和dbt官方合作開發的DV模板。AutomateDV: Github、dbt package hub
datavault4dbt:Github、dbt package hub
dq_vault:Github、dbt package hub
dbterd:Github
dbt-data-vault-template:Github